/**
 * 事件调度器 管理器
 */
class EventDispatcherManager
    extends egret.EventDispatcher {

    /**
     * 单例实例
     */
    private static instance: EventDispatcherManager = null;

    /**
     * 编译顺序 标识
     */
    public static referenceFlag: string = GameHelper.referenceFlag;

    /**
     * 构造函数
     */
    public constructor() {
        super();
    }

    /**
     * 获取 单例实例
     */
    public static get getInstance(): EventDispatcherManager {

        if (EventDispatcherManager.instance == null) {
            EventDispatcherManager.instance = new EventDispatcherManager();
        }
        return EventDispatcherManager.instance;
    }

    /**
     * 调度 显示 游戏 战斗场景 事件
     */
    public showGameFireSceneNotify(): void {
        this.dispatchEventWith(AppEvent.EVENT_SHOWGAMEFIRESCENE_NTFY);
    }

    /**
     * 调度 显示 游戏 结束场景 事件
     */
    public showGameEndSceneNotify(): void {
        this.dispatchEventWith(AppEvent.EVENT_SHOWGAMEENDSCENE_NTFY);
    }

    /**
     * 调度 显示 游戏 暂停场景 事件
     */
    public showGamePauseSceneNotify(): void {
        this.dispatchEventWith(AppEvent.EVENT_SHOWGAMEPAUSESCENE_NTFY);
    }

    /**
     * 调度 显示 游戏 开始场景 事件
     */
    public showGameStartSceneNotify(): void {
        this.dispatchEventWith(AppEvent.EVENT_SHOWGAMESTARTSCENE_NTFY);
    }

    /**
     * 调度 进入 游戏 战斗场景 事件
     */
    public enterGameFireSceneNotify(): void {
        this.dispatchEventWith(AppEvent.EVENT_ENTERGAMEFIRESCENE_NTFY);
    }

    /**
     * 调度 打开 游戏 暂停场景 事件
     */
    public openGamePauseSceneNotify(): void {
        this.dispatchEventWith(AppEvent.EVENT_OPENGAMEPAUSESCENE_NTFY);
    }

    /**
     * 调度 返回 游戏 开始场景 事件
     */
    public returnGameStartSceneNotify(): void {
        this.dispatchEventWith(AppEvent.EVENT_RETURNGAMESTARTSCENE_NTFY);
    }

    /**
     * 调度 返回 游戏 战斗场景 事件
     */
    public returnGameFireSceneNotify(): void {
        this.dispatchEventWith(AppEvent.EVENT_RETURNGAMEFIRESCENE_NTFY);
    }

}